<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Http\Requests\AdminLogin;
use App\Models\AdminUser;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class LoginController extends Controller
{
    // 登录表单
   public function index(){
        return view('admin.login');
   }

   //使用依赖注入，注入AdminLogin的验证器
   public function check(AdminLogin $request){
        // 获取用户输入的数据,使用$request对象调用validated方法
        $data = $request->validated(); //username,password
        $data['state']=AdminUser::NORMAL; //验证用户状态
        // 使用Auth类调用attempt,接受一个数组 $data，包含用户的登录凭证进行验证
        $is = Auth::guard('admin')->attempt($data);
        //判断结果$is不是true则跳转至上一页,true则跳转admin.index
        if(!$is){
          return back()->withErrors(["username"=>"账号不可用，请联系管理"]);
        }
        //浏览器发送新请求，重定向到新页面
        return redirect()->route('admin.index');
   }

   public function logout(){
     // 在基于auth类的基础上，退出非常简单，直接使用logout()方法即可
     Auth::guard('admin')->logout();
     return redirect()->route('admin.login');
   }
}
